package com.hhe.datax_transfer.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * 字符串工具类
 *
 * @author HHe
 * @version V1.0
 * @date 2021/1/8 16:00
 */
public class StringUtils {
    /**
     * 是空字符串
     * 判断null、切分首尾空格后的""和"null"
     *
     * @version V1.0
     * @author HHe
     * @date 2021/1/8 16:03
     */
    public static boolean isTrimBlank(String str) {
        if (str == null || "".equals(str.trim()) || "null".equals(str.trim())) {
            return true;
        }
        return false;
    }

    /**
     * 非空字符串
     * 判断null、切分首尾空格后的""和"null"
     *
     * @version V1.0
     * @author HHe
     * @date 2021/1/8 16:03
     */
    public static boolean isNotTrimBlank(String str) {
        if (str != null && !"".equals(str.trim()) && !"null".equals(str.trim())) {
            return true;
        }
        return false;
    }

    /**
     * 获取strings字符串中所有str字符所在的下标
     *
     * @version V1.0
     * @author HHe
     * @date 2021/1/26 15:03
     */
    public static List<Integer> getIndex(String strings, String str) {
        List<Integer> list = new ArrayList<>();
        int flag = 0;
        while (strings.indexOf(str) != -1) {
            //截取包含自身在内的前边部分
            String aa = strings.substring(0, strings.indexOf(str) + str.length());
            flag = flag + aa.length();
            list.add(flag - str.length());
            strings = strings.substring(strings.indexOf(str) + str.length());
        }
        return list;
    }
}
